package com.link.base.core.basic.interceptors.mybatis.system;


import org.apache.ibatis.mapping.BoundSql;
import org.apache.ibatis.plugin.Invocation;

/**
 * @Author: qinxuegang
 * @Description: sql处理类接口，提供sql处理方法，并将处理后的sql返回
 * @Date: 2018/11/1 10:44
 */
public interface SqlInterceptor {

    /**
     * 拦截查询的接口方法，通过原始的sql，判断是否含有占位符。如果没有占位符，则直接返回。否则，根据数据权限查询得到数据权限的sql替换占位符后返回。
     * @param invocation
     * @param boundSql
     * @return
     * @throws Exception
     */
    public String doInterceptor(Invocation invocation, BoundSql boundSql);
}
